package com.sisSaude.dtos;

import java.util.Vector;

import com.sisSaude.enumerations.Circunferencia;

public class RelatorioDeEvolucaoDeAvaliacaoAntropometricaFilterDTO {

	// fields
	private int idAluno = 0;
	private Vector<CircunferenciaFilterDTO> circunferencias = new Vector<CircunferenciaFilterDTO>();

	// constructors
	public RelatorioDeEvolucaoDeAvaliacaoAntropometricaFilterDTO() {
		initComposicoes();
	}
	
	// private methods
	private void initComposicoes() {
		for (Circunferencia circunferencia : Circunferencia.values())
			this.circunferencias.add(new CircunferenciaFilterDTO(circunferencia));
	}
	
	// getters
	public int getIdAluno() {
		return idAluno;
	}
	public Vector<CircunferenciaFilterDTO> getCircunferencias() {
		return circunferencias;
	}

	// setters
	public void setIdAluno(int idAluno) {
		this.idAluno = idAluno;
	}

	// public methods
	public boolean hasComposicaoChecked(Circunferencia circunferencia) {
		for (CircunferenciaFilterDTO composicaoDTO : this.circunferencias)
			if (composicaoDTO.getCircunferencia().equals(circunferencia) && composicaoDTO.isChecked())
				return true;
		return false;
	}	
	
	// inner class
	public class CircunferenciaFilterDTO {
		
		// fields
		private boolean checked = true;
		private Circunferencia circunferencia = null;
		
		// constructors
		public CircunferenciaFilterDTO(Circunferencia circunferencia) {
			this.circunferencia = circunferencia;
		}
		
		// getters
		public boolean isChecked() {
			return checked;
		}
		public Circunferencia getCircunferencia() {
			return circunferencia;
		}
		
		// setters
		public void setChecked(boolean checked) {
			this.checked = checked;
		}		
		public void setCircunferencia(Circunferencia circunferencia) {
			this.circunferencia = circunferencia;
		}
	}
	
}